package oop.controller.action.teststruct;

import oop.controller.action.DefaultAction;
import oop.data.TestStructure;
import oop.db.dao.TestStructureDAO;

import org.apache.commons.lang.StringUtils;

public class CreateAction extends DefaultAction {
	
	@Override
	public void performImpl() throws Exception {
		String submit = request.getParameter("tsc_submit");
		if ("create".equals(submit)) {
			boolean error = false;
			String name = request.getParameter("tsc_name");
			if (StringUtils.isEmpty(name)) {
				request
						.setAttribute("nameErr",
								"Bạn cần nhập tên cấu trúc đề.");
				error = true;
			}

			String description = request.getParameter("tsc_description");
			if (StringUtils.isEmpty(description)) {
				request.setAttribute("descriptionErr",
						"Bạn cần nhập mô tả cấu trúc đề");
				error = true;
			}
			
			long topicId = 0;
			String topicIdStr = request.getParameter("tsc_topic");
			if (StringUtils.isEmpty(topicIdStr)) {
				request.setAttribute("topicErr",
						"Bạn chủ đề cho cấu trúc đề.");
				error = true;
			} else {
				try {
					topicId = Long.parseLong(topicIdStr);
				} catch (NumberFormatException ex) {
					request.setAttribute("topicErr",
							"ID của chủ đề không hợp lệ.");
					error = true;
				}
			}

			if (!error) {
				TestStructure structure = TestStructureDAO.create(name,
						description, getUser().getId(), topicId);
				setNextAction("teststruct.view&tsv_id=" + structure.getId());
			} else if ("cancel".equals(submit)) {

			}
		}
	}
}
